package com.pureut.storage.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sale.common.core.web.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/***
 *  委外入库表 入参
 * Author:C
 * Date:2022/12/27 16:32
 * @DESC
 */
@Data
public class SubcontractReceiptOtherVo extends BaseEntity {

    /**
     * id
     */
    private long id;

    /**
     * 委外订单号
     */
    private String subcontractingOrderNum;

    /**
     * 关联单号
     */
    private String associatedDocNum;

    /**
     * 单据状态
     */
    private String status;

    /**
     * 物料id
     */
    private long materialId;

    /**
     * 物料编码
     */
    private String materialCode;

    /**
     * 物料名称
     */
    private String materialName;

    /**
     * 物料类型
     */
    private String materialType;

    /**
     * 委外合同编号
     */
    private String subcontractingContractNum;

    /**
     * 委外重量
     */
    private String subcontractingWeight;


    /**
     * 到货重量
     */
    private double arrivedWeight;

    /**
     * 退回重量
     */
    private double backWeight;

    /**
     * 需求时间
     */
    @NotNull(message = "需求时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date demandTime;

    /**
     * 创建时间（查询条件）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 创建时间（查询条件）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /**
     * BOM编码
     */
    @NotBlank(message = "BOM不能为空")
    private String bomCode;

    /**
     * 加工商id
     */
    private long converterId;

    /**
     * 合同url
     */
    private String contractUrl;

    /**
     * 加工商名称
     */
    private String converterName;

    /**
     * 关结原因
     */
    private String closeReason;

    /**
     * 委外类型
     */
    private int subcontractingType;

    /**
     * 物料明细列表
     */
    private List<SubcontractingOrderMaterialDetailVo> materialDetailList;

    /**
     * 厚度
     */
    private String thickness;

//    /**
//     * id
//     */
//    private long id;
//
//    /**
//     * 入库单号
//     */
//    private String receiptNo;
//
//    /**
//     * 状态
//     */
//    private int status;
//
//    /**
//     * 委外订单号
//     */
//    private String subcontractOrderNo;
//
//    /**
//     * 预计到货日期
//     */
//    @NotNull(message = "预计到货日期不能为空")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date estimatedTime;
//
//    /**
//     * 物料id
//     */
//    private long materialId;
//
//    /**
//     * 物料编码
//     */
//    private String materialCode;
//
//    /**
//     * 物料类别
//     */
//    private int materialCategory;
//
//    /**
//     * 计划重量
//     */
//    private double plannedWeight;
//
//    /**
//     * 入库重量
//     */
//    private double warehousingWeight;
//
//    /**
//     * 入库数量
//     */
//    private int warehousingNum;
//
//    /**
//     * 入库仓
//     */
//    private long warehousingWarehouse;
//
//    /**
//     *  加工商id
//     */
//    private long converterId;
//
//    /**
//     * 加工商名称
//     */
//    private String converterName;
//
//    /**
//     * 单据类型
//     */
//    private int documentType;
//
//    /**
//     * 收发类型
//     */
//    private int receiveType;
//
//    /**
//     * 生成方式
//     */
//    private int generationMethod;
//
//    /**
//     * 开单人
//     */
//    private String drawerBy;
//
//    /**
//     * 开单时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date drawerTime;
//
//    /**
//     * 关结人
//     */
//    private String closingBy;
//
//    /**
//     * 关结时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date closingTime;
//
//    /**
//     * 关结原因
//     */
//    private String closeReason;
//
//    /**
//     * 开始时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date beginTime;
//
//    /**
//     * 结束时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date endTime;
//
//    /**
//     * 委外入库物料列表
//     */
//    private List<PurchaseVo> procurementList;
}
